Mobile communications devices, such as mobile phones, incorporate a telephone application that can be implemented in hardware, firmware or software and the telephony application has typically been programmed into a non-volatile type memory at the factory and not easily modified when in the field. If it became necessary to modify the telephony application in the field to fix a bug or to simply update the application to a more recent version, it was necessary to have a field service technician visit the wireless telephone system site to change the memory device or reload the modified software.
A method for broadcasting software applications stored at a server to multiple, portable data communications devices is disclosed in U.S. application no. 2005/0090246. This application discloses a method for transmitting, upon request by the communications device, each of several different software applications on different frequencies. The portable data communications device can then access the software applications on the server by sending certain client data which causes the server to respond by sending the software application over a particular frequency. The communications device can be selectively set to receive the software file on this transmission frequency.
A method for updating the software in a cellular phone is described in U.S. application no. 2005/0170827. This application discloses a cellular phone that when docked on a battery charger, sends a message to a management station, which stores update software files, requesting that the latest version of the software be transmitted to it.
Other methods are well known for multicasting software update information over a wired network to multiple client terminals. And examples of such methods are disclosed in U.S. patent application nos. 2003/0028899 and 2002/0075824.
In light of the limitations of the prior art attempts to update mobile phone software, it would be advantageous if a wireless telephone system could perform over-the-air software updates to two or more mobile phones at the same time without degrading the performance of the wireless telephone system and without operator intervention. It would be advantageous to be able to perform over-the-air software updates to two or more mobile phones at the same time, while some phone are in call mode and while some other phones are turned off or in the sleep mode of operation. It would be advantageous to be able to perform over-the-air software updates to two or more mobile phones at the same time without the need for a system administrator to collect and update the phones.
These above mentioned advantages are realized by broadcasting fragments of a new software file version continuously in free TDMA time slots to all mobile phones associated with base stations in the wireless telephone system. Each fragment has an address into phone memory in which it should be stored and each frame broadcast contains a ring channel that carries the S/W version # and total size of the download file. All phones do not have to receive the same download information at the same time, but over time they all do and ultimately the phone receives the entire download file. At this point, the phone takes itself out of service, erases its memory, and copies the downloaded software into memory and then places itself back into service.